Skip to content

Conversation

@evanliu048
Copy link
Contributor

@evanliu048 evanliu048 commented Sep 30, 2025

Issue #, if available:

Description of changes:
Integrates with unified authentication portal supporting Google, GitHub, BuilderID, AWS IdC, and Internal auth methods.

Local environments: Browser-based OAuth flow via unified portal
Remote environments: Existing device flow (BuilderID/IdC(Internal))

User Experience
Local:
q login

  1. User selects a login option (Google / GitHub / IdC / BuilderID) in auth portal.
  2. Browser opens the provider’s consent page.
  3. On success or cancel, the user is redirected to a local callback that:
  • Social: Validates state and exchanges the code for a bearer token.
  • SSO: Registers the client and creates a token.
  1. The callback serves an index.html page with a friendly success or denial message.
  2. The CLI stores the tokens and (if available) the profile ARN.

Remote:
q login (--use-decivce-code)
existing auth flow, prompted user that social login is not supported here

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@evanliu048 evanliu048 marked this pull request as draft September 30, 2025 22:06
@evanliu048 evanliu048 marked this pull request as ready for review October 3, 2025 20:33
@kensave kensave changed the title feat: Support Kiro CLI social login feat: Support Qv2 CLI social login Oct 3, 2025
IdentityFuture::new_boxed(Box::pin(async {
let database = Database::new().await?;

if let Ok(Some(token)) = builder_id::BuilderIdToken::load(&database).await {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we need to check both all times?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The UnifiedBearerResolver needs to support two login paths — Builder ID and Social.
A user may complete login through either method. Therefore, during the resolution phase, we need attempt both methods

evanliu048 and others added 2 commits October 6, 2025 13:51
* feat: New continuation id logic

* chore: Centralize metadata

* chore: Moves struct to right place

---------

Co-authored-by: Kenneth S. <[email protected]>
@evanliu048 evanliu048 marked this pull request as draft October 16, 2025 00:46
@kkashilk kkashilk force-pushed the qv2 branch 2 times, most recently from 83daff1 to de21929 Compare October 25, 2025 05:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants